package org.iteracionII.presen;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import java.awt.FlowLayout;

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

import java.awt.Color;

import javax.swing.JTextPane;

import org.iteracionI.persis.AgenteBD;
import org.iteracionII.dom.Gestor_Registrar_Libro;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

public class JFrameNuevoLibro extends JFrame {

	protected static JPanel contentPane;
	protected static JTextField textFieldTitulo;
	protected static JTextField textFieldAutor;
	protected static JTextField textFieldSignatura;
	protected static JTextField textFieldISBN;
	public static JTextPane textPane;
	public static JLabel label2 = new JLabel();
	public static JLabel label = new JLabel();
	public static JLabel label3 = new JLabel();
	public static JLabel label4 = new JLabel();
	public static JButton btnRegistrar = new JButton();
	public static JButton btnLimpiar = new JButton();
	public static JLabel label_1 = new JLabel();

	
	public static String idioma;
        
	public JFrameNuevoLibro(){
		
		try {
			idioma=ConsultarIdioma();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		if(idioma.equals("Español")){
		setTitle("Registrar un nuevo libro");
		}
		else{
			setTitle("Register a new book");
		}
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 420, 319);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		

		label.setBounds(6, 81, 69, 16);
		contentPane.add(label);
		

		label2.setBounds(6, 37, 69, 16);
		contentPane.add(label2);
                

		label3.setBounds(6, 120, 69, 16);
		contentPane.add(label3);
                

		label4.setBounds(6, 160, 69, 16);
		contentPane.add(label4);
		
		textFieldTitulo = new JTextField();
		textFieldTitulo.setBounds(87, 37, 134, 28);
		contentPane.add(textFieldTitulo);
		textFieldTitulo.setColumns(10);
		
		textFieldAutor = new JTextField();
		textFieldAutor.setColumns(10);
		textFieldAutor.setBounds(87, 81, 134, 28);
		contentPane.add(textFieldAutor);
                
                textFieldSignatura = new JTextField();
		textFieldSignatura.setColumns(10);
		textFieldSignatura.setBounds(87, 120, 134, 28);
		contentPane.add(textFieldSignatura);
                
                textFieldISBN = new JTextField();
		textFieldISBN.setColumns(10);
		textFieldISBN.setBounds(87, 160, 134, 28);
		contentPane.add(textFieldISBN);
		

		btnRegistrar.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0){
                            boolean res=false;
                            String titulo,autor,signatura,isbn;
                            titulo = textFieldTitulo.getText();
                            autor = textFieldAutor.getText();
                            signatura = textFieldSignatura.getText();
                            isbn = textFieldISBN.getText();
                           
                           Gestor_Registrar_Libro libro;
                           libro = new Gestor_Registrar_Libro();
                           try {
                                                              
                               res = libro.registrarLibro(titulo,autor,signatura,isbn);                                                                                         
                                
                            } catch (Exception ex) {
                                Logger.getLogger(JFrameNuevoLibro.class.getName()).log(Level.SEVERE, null, ex);
                            }
                           if (res==true){
                        	   if(idioma.equals("Español")){
                        		   textPane.setText("Libro \""+titulo+"\" de "+autor+" con la signatura "+signatura+" registrado correctamente en la BD.");
                        	   }
                        	   else{
                        		   textPane.setText("Book \""+titulo+"\" with "+autor+" with the signature "+signatura+" properly registered in the database.");
                        	   }
                        	  
                           }
                           else{
                        	   if(idioma.equals("Español")){
                        		   textPane.setText("El libro no se ha podido registrar, ya se encuentra en la BD");
                        	   }
                        	   else{
                        		   textPane.setText("The book failed record, is already in the database");
                        	   }
                        	   
                           }
                          
			}
		});
		btnRegistrar.setBounds(253, 76, 117, 29);
		contentPane.add(btnRegistrar);
		

                
                btnLimpiar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
                            
                            textPane.setText(null);
                            textFieldTitulo.setText(null);
                            textFieldAutor.setText(null);
                            textFieldSignatura.setText(null);
                            textFieldISBN.setText(null);
			}
		});
                
                btnLimpiar.setBounds(253, 176, 117, 29);
		contentPane.add(btnLimpiar);
                

		label_1.setForeground(Color.BLUE);
		label_1.setBounds(6, 210, 61, 16);
		contentPane.add(label_1);
		
		textPane = new JTextPane();
		textPane.setToolTipText("Panel para mostrar el restultado de la comprobaci\u00F3n de login o las excepciones lanzadas");
		textPane.setEditable(false);
		textPane.setBounds(6, 230, 407, 102);
		contentPane.add(textPane);
	}


	public String ConsultarIdioma() throws Exception{
		String idioma = null;
		
        Vector<Object> aux = null;
        String tipo="";
        String SQL_Consulta = "SELECT * FROM Idioma;";
		AgenteBD agen = AgenteBD.getAgente();
		Vector<Object> res = agen.selectIdioma(SQL_Consulta);
		if (res.size() == 1){
			aux = (Vector<Object>) res.elementAt(0);
			tipo = aux.elementAt(0).toString(); 
		}
		
		idioma=tipo;
		return idioma;
	}
}
